"""
将现实世界事物在类中描述为属性和方法，即为封装。

私有成员

- 私有成员变量
- 私有成员方法

=====================================================
定义私有成员：

- 私有成员变量：变量名以__开头（2个下划线）
- 私有成员方法：方法名以__开头（2个下划线）

=====================================================
使用私有成员
- 1、私有方法无法直接被类对象使用
- 2、私有变量无法赋值，也无法获取值
- 3、私有成员无法被类对象使用，但是可以被其它的成员使用。
"""


class Phone:
    IMEI = None  # 序列号
    product = None  # 厂商

    __current_voltage = None  # 当前电压，私有成员变量

    def call_by_5g(self):
        # 私有成员无法被类对象使用，但是可以被其它的成员使用
        if self.__current_voltage >= 1:
            self.__keep_single_core()
        print("5g通话已开启")

    # 定义私有成员方法
    def __keep_single_core(self):
        print("让CPU以单核模式运行以节省电量")


class Student:
    name = None  # 名字
    authority = None  # 权限

    def __look_score(self):
        print("你的权限大于等于1，可以查看班级成绩！")

    def register(self):
        print("你已成功登录教务系统！")
        if self.authority >= 1:
            self.__look_score()
            print("查看班级成绩结束！")

        else:
            print("你的权限小于1，不可以查看班级成绩！")


student01 = Student()
student01.name = "小吴"
student01.authority = 2
student01.register()
